// 当多次请求只关闭一次loading
let reqTimes = 0;
// 请求基础路径
const BASE_URL = 'http://localhost:8082';
// 二次promise封装的request
export const myRequest = (options) => {
	// 每次请求reqTimes就加1
	reqTimes++;
	// 请求时先打开loading
	uni.showLoading({
		title:'玩命加载中~',
		mask:true
	});
	return new Promise((resolve,reject)=>{
		uni.request({
			url:BASE_URL + options.url,
			method:options.method || 'GET',
			data:options.data || {},
			success: (res) => {
				if(res.data.status !== 0) {
					return uni.showToast({
						icon:'error',
						title:'数据获取异常！'
					})
				};
				resolve(res);
			},
			fail: (err) => {
				uni.showToast({
					icon:'error',
					title:'请求接口失败！'
				});
				reject(err);
			},
			complete: () => {
				// 每次执行完减一
				reqTimes--
        // 最后还等于原始值等于全部请求完了则一次性关闭loading
				if(reqTimes === 0) uni.hideLoading(); // 关闭loading效果
			}
		})
	})
}
